package com.huafeng.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huafeng.model.base.Result;
import com.huafeng.model.entity.SysRole;
import com.huafeng.model.vo.AssignRoleVo;
import com.huafeng.model.vo.SysRoleQueryVo;

/**
 * @author 花风
 * @date 2023/8/15 20:38
 * @Description SysRoleService
 */
public interface SysRoleService extends IService<SysRole> {
    /**
     * 查找所有的角色
     * @return 角色列表
     */
    Result findAllRole();

    /**
     * 分页条件查询角色信息
     * @param sysRoleQueryVo 分页条件查询角色对象
     * @return 查询结果
     */
    Result queryRolesByPage(SysRoleQueryVo sysRoleQueryVo);

    /**
     * 根据用户id的角色信息
     * @param userId 用户id
     * @return id对应的角色信息
     */
    Result toAssign(Long userId);

    /**
     * 根据用户分配角色
     * @param assignRoleVo 用户角色分配对象
     * @return 分配结果
     */
    Result doAssign(AssignRoleVo assignRoleVo);
}
